package cn.tedu._04egmybatis.mapper;

import cn.tedu._04egmybatis.pojo.entry.Product;
import cn.tedu._04egmybatis.pojo.vo.ProductVO1;
import org.apache.ibatis.annotations.*;

import java.util.ArrayList;

@Mapper
public interface ProductMapper {

   /* @Insert("insert into product(title,price,stock) values" +
            "(#{title},#{price},#{stock})")*/
    void insert(Product product);

    // 更新表
//    @Update("update product set stock=stock-1 where id=#{id}")
    int updateStockById(Product product);

    // 查询，可以使用VO对象，也可以使用实体类去接收
//    @Select("SELECT title,price,stock FROM product")
    ProductVO1 select(long id); // 会自动调用重写后的toString()方法

    // 删除
//    @Delete("DELETE FROM product WHERE id = #{id}")
    int deleteById(Integer id);

    // 通过id批量删除商品信息
    int deleteByIds(ArrayList<Integer> ids);

    // 动态修改商品信息
    int updateProductById(Product product);

    // 统计商品数量
    int countProduct();

}
